active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
mark(f(X1, X2)) → active(f(mark(X1), X2))
mark(a) → active(a)
mark(b) → active(b)
f(mark(X1), X2) → f(X1, X2)
f(X1, mark(X2)) → f(X1, X2)
f(active(X1), X2) → f(X1, X2)
f(X1, active(X2)) → f(X1, X2)
↳ QTRS
↳ DependencyPairsProof
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
mark(f(X1, X2)) → active(f(mark(X1), X2))
mark(a) → active(a)
mark(b) → active(b)
f(mark(X1), X2) → f(X1, X2)
f(X1, mark(X2)) → f(X1, X2)
f(active(X1), X2) → f(X1, X2)
f(X1, active(X2)) → f(X1, X2)
MARK(a) → ACTIVE(a)
MARK(f(X1, X2)) → MARK(X1)
F(active(X1), X2) → F(X1, X2)
F(X1, mark(X2)) → F(X1, X2)
MARK(f(X1, X2)) → F(mark(X1), X2)
ACTIVE(b) → MARK(a)
ACTIVE(f(X, X)) → F(a, b)
F(X1, active(X2)) → F(X1, X2)
F(mark(X1), X2) → F(X1, X2)
MARK(b) → ACTIVE(b)
MARK(f(X1, X2)) → ACTIVE(f(mark(X1), X2))
ACTIVE(f(X, X)) → MARK(f(a, b))
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
mark(f(X1, X2)) → active(f(mark(X1), X2))
mark(a) → active(a)
mark(b) → active(b)
f(mark(X1), X2) → f(X1, X2)
f(X1, mark(X2)) → f(X1, X2)
f(active(X1), X2) → f(X1, X2)
f(X1, active(X2)) → f(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
MARK(a) → ACTIVE(a)
MARK(f(X1, X2)) → MARK(X1)
F(active(X1), X2) → F(X1, X2)
F(X1, mark(X2)) → F(X1, X2)
MARK(f(X1, X2)) → F(mark(X1), X2)
ACTIVE(b) → MARK(a)
ACTIVE(f(X, X)) → F(a, b)
F(X1, active(X2)) → F(X1, X2)
F(mark(X1), X2) → F(X1, X2)
MARK(b) → ACTIVE(b)
MARK(f(X1, X2)) → ACTIVE(f(mark(X1), X2))
ACTIVE(f(X, X)) → MARK(f(a, b))
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
mark(f(X1, X2)) → active(f(mark(X1), X2))
mark(a) → active(a)
mark(b) → active(b)
f(mark(X1), X2) → f(X1, X2)
f(X1, mark(X2)) → f(X1, X2)
f(active(X1), X2) → f(X1, X2)
f(X1, active(X2)) → f(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
F(active(X1), X2) → F(X1, X2)
F(X1, mark(X2)) → F(X1, X2)
F(X1, active(X2)) → F(X1, X2)
F(mark(X1), X2) → F(X1, X2)
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
mark(f(X1, X2)) → active(f(mark(X1), X2))
mark(a) → active(a)
mark(b) → active(b)
f(mark(X1), X2) → f(X1, X2)
f(X1, mark(X2)) → f(X1, X2)
f(active(X1), X2) → f(X1, X2)
f(X1, active(X2)) → f(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
F(active(X1), X2) → F(X1, X2)
F(X1, mark(X2)) → F(X1, X2)
F(mark(X1), X2) → F(X1, X2)
F(X1, active(X2)) → F(X1, X2)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ RuleRemovalProof
MARK(f(X1, X2)) → MARK(X1)
MARK(f(X1, X2)) → ACTIVE(f(mark(X1), X2))
ACTIVE(f(X, X)) → MARK(f(a, b))
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
mark(f(X1, X2)) → active(f(mark(X1), X2))
mark(a) → active(a)
mark(b) → active(b)
f(mark(X1), X2) → f(X1, X2)
f(X1, mark(X2)) → f(X1, X2)
f(active(X1), X2) → f(X1, X2)
f(X1, active(X2)) → f(X1, X2)
MARK(f(X1, X2)) → MARK(X1)
POL(ACTIVE(x1)) = 1 + x1
POL(MARK(x1)) = 2·x1
POL(a) = 0
POL(active(x1)) = x1
POL(b) = 0
POL(f(x1, x2)) = 1 + 2·x1 + 2·x2
POL(mark(x1)) = x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ Instantiation
MARK(f(X1, X2)) → ACTIVE(f(mark(X1), X2))
ACTIVE(f(X, X)) → MARK(f(a, b))
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
mark(f(X1, X2)) → active(f(mark(X1), X2))
mark(a) → active(a)
mark(b) → active(b)
f(mark(X1), X2) → f(X1, X2)
f(X1, mark(X2)) → f(X1, X2)
f(active(X1), X2) → f(X1, X2)
f(X1, active(X2)) → f(X1, X2)
MARK(f(a, b)) → ACTIVE(f(mark(a), b))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
MARK(f(a, b)) → ACTIVE(f(mark(a), b))
ACTIVE(f(X, X)) → MARK(f(a, b))
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
mark(f(X1, X2)) → active(f(mark(X1), X2))
mark(a) → active(a)
mark(b) → active(b)
f(mark(X1), X2) → f(X1, X2)
f(X1, mark(X2)) → f(X1, X2)
f(active(X1), X2) → f(X1, X2)
f(X1, active(X2)) → f(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
MARK(f(a, b)) → ACTIVE(f(mark(a), b))
ACTIVE(f(X, X)) → MARK(f(a, b))
mark(a) → active(a)
f(X1, active(X2)) → f(X1, X2)
f(X1, mark(X2)) → f(X1, X2)
f(mark(X1), X2) → f(X1, X2)
f(active(X1), X2) → f(X1, X2)
MARK(f(a, b)) → ACTIVE(f(active(a), b))
MARK(f(a, b)) → ACTIVE(f(a, b))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(f(a, b)) → ACTIVE(f(a, b))
MARK(f(a, b)) → ACTIVE(f(active(a), b))
ACTIVE(f(X, X)) → MARK(f(a, b))
mark(a) → active(a)
f(X1, active(X2)) → f(X1, X2)
f(X1, mark(X2)) → f(X1, X2)
f(mark(X1), X2) → f(X1, X2)
f(active(X1), X2) → f(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
MARK(f(a, b)) → ACTIVE(f(active(a), b))
ACTIVE(f(X, X)) → MARK(f(a, b))
mark(a) → active(a)
f(X1, active(X2)) → f(X1, X2)
f(X1, mark(X2)) → f(X1, X2)
f(mark(X1), X2) → f(X1, X2)
f(active(X1), X2) → f(X1, X2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
MARK(f(a, b)) → ACTIVE(f(active(a), b))
ACTIVE(f(X, X)) → MARK(f(a, b))
f(X1, active(X2)) → f(X1, X2)
f(X1, mark(X2)) → f(X1, X2)
f(mark(X1), X2) → f(X1, X2)
f(active(X1), X2) → f(X1, X2)
MARK(f(a, b)) → ACTIVE(f(a, b))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
MARK(f(a, b)) → ACTIVE(f(a, b))
ACTIVE(f(X, X)) → MARK(f(a, b))
f(X1, active(X2)) → f(X1, X2)
f(X1, mark(X2)) → f(X1, X2)
f(mark(X1), X2) → f(X1, X2)
f(active(X1), X2) → f(X1, X2)